package pkg

import (
	"fmt"
	"math/rand"
	"os"
	"os/exec"
	"strconv"
	"strings"
	"time"
)

func StringToInt64(s string) int64 {
	s02 := strings.TrimSuffix(s, "\r")
	intResult, err := strconv.Atoi(s02)
	if err != nil {
		fmt.Println(err)
	}
	return int64(intResult)
}

// GenerateRandomInt
// 获取随机数字
func GenerateRandomInt(max int) int {
	// 使用当前时间作为种子
	rand.Seed(time.Now().UnixNano())
	// 生成一个随机整数
	randInt := rand.Intn(max)
	return randInt
}

// RandomSort
// 列表重新排序
func RandomSort(list []string) {
	// 使用当前时间的纳秒部分作为随机数生成器的种子
	rand.Seed(time.Now().UnixNano())
	// 随机打乱切片的元素顺序
	rand.Shuffle(len(list), func(i, j int) { list[i], list[j] = list[j], list[i] })
}

// CleanScreen
// windows清空屏幕
func CleanScreen() {
	cmd := exec.Command("cmd", "/c", "cls")
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	cmd.Run()
}
